/*
 * PLineal.java
 *
 * Created on 20 de marzo de 2002, 15:39
 */

package MetodosContinuos;

/**
 *
 * @author  spadilla
 * @version
 */
public class PLineal {
    
    private int n_var;
    private double[] vectorCoeficientes;
    private double[][] matrizCoeficientes;
    private double[] Xresultado;
    private double Zresultado;
    private InterfacesGenerales.Plataforma Padre2;
    private InterfacesContinuas.PlataformaContinua Padre;
    
    
    public PLineal(InterfacesContinuas.PlataformaContinua parent, InterfacesGenerales.Plataforma parent2) {
        
        Padre2= parent2;
        Padre=parent;
        n_var=DatosEntrada.DatosContinuos.getNVariables();
        matrizCoeficientes=DatosEntrada.DatosContinuos.getMatrizCoef();
        
        asignaCoef();
        try{
            Utiles.ProgramacionLinealGeneral.ProgramacionLineal(vectorCoeficientes);
            Xresultado=Utiles.ProgramacionLinealGeneral.getVectorXoptimos();
            Zresultado=Utiles.ProgramacionLinealGeneral.getValorZoptimo();
        } catch(Exception e){
            e.printStackTrace();
        }
        ResultadosContinuos.ResultSoloLineal pas = new ResultadosContinuos.ResultSoloLineal(Xresultado,Zresultado,Padre.getTablaFunObj().getData(),Padre.getTablaFunObj().getNombresCol(),Padre.getTablaRest().getData(),Padre.getTablaRest().getNombresCol());
        Padre.getJDesktopPane2().add(pas);
        Padre.getJTabbedPane1().setSelectedIndex(2);
    }
    
    private void asignaCoef(){
        vectorCoeficientes=new double[n_var];
        for(int i=0;i<n_var;i++){
            vectorCoeficientes[i]=matrizCoeficientes[0][i];
        }
    }
}